
import static stale.Stale.*;
import static rodzajpola.RodzajPola.*;
import java.io.*;

import rodzajpola.RodzajPola;

public class Poziom {
	RodzajPola[][] tabPlanszy;
	String nazwa;
	String nazwaPlikuPgm;
	
	Poziom(String nPPgm) throws IOException{
		nazwaPlikuPgm = nPPgm;
		tabPlanszy = new RodzajPola[WYSOKOSC_POLA_GRY][SZEROKOSC_POLA_GRY];
		ladujZPliku(nazwaPlikuPgm);
	}
	boolean  czyWidoczne(int xa, int ya, int xb, int yb){
		boolean wid=true;
		if(xa==xb){
			while(ya!=yb){
				if (jakiePole(ya,xa)==MUR) {
					
					wid=false;
				}
				ya+=ya<yb?1:-1;
			}
		}
		else if (ya==yb){
			while(xa!=xb){
				if (jakiePole(ya,xa)==MUR){
					wid=false;
					
				}
				xa+=xa<xb?1:-1;
			}
		}
		else wid=false;
		return wid;
	}
	 
	void reset(){
		for(int i=0; i<KAFLE_NA_WYS;i++){
			for(int j=0; j<KAFLE_NA_SZER;j++){
				if (tabPlanszy[i][j].equals(PUSTKA)) 
					tabPlanszy[i][j]=KULKOWE;
			}
		}
	}

	void ladujZPliku(String nazwaPlikuPgm) throws IOException{
		BufferedReader strumien = new BufferedReader(new FileReader("./poziomy/"+nazwaPlikuPgm));
		
		strumien.readLine();
		nazwa = strumien.readLine().substring(2);
		
		strumien.readLine();
		strumien.readLine();
		strumien.readLine();
		strumien.readLine();
		//strumien.readLine();
		
		for (int i=0; i<KAFLE_NA_WYS; i++){
			for (int j=0; j<KAFLE_NA_SZER; j++){
				
				switch(Integer.parseInt(strumien.readLine())){
				case 0:
					tabPlanszy[i][j]=MUR;
					break;
				case 7:
					tabPlanszy[i][j]=KULKOWE;
					break;
				case 6:
					tabPlanszy[i][j]=TRUJACE;
					break;
				default:
					tabPlanszy[i][j]=PUSTKA;
				}
			
			}
		}
		strumien.close();
	}
	
	public RodzajPola jakiePole(int i, int j){
		return tabPlanszy[i][j];
	}
	
}